package main

import (
	"fmt"
	"io/ioutil"
)

/*
1、读取文件的内容并显示在终端(使用ioutil一次将整个文件读入到内存中)，这种方式适用于文件不大的情况。相关方法和函数(ioutil.ReadFile)
*/
func main() {
	/*
		func ReadFile(filename string) ([]byte, error)
		ReadFile 从filename指定的文件中读取数据并返回文件的内容。
		成功的调用返回的err为nil而非EOF。
		因为本函数定义为读取整个文件，它不会将读取返回的EOF视为应报告的错误。
	*/
	//使用ioutil.ReadFile一次性将文件读取到位
	file := "src/go_code/chapter14/2打开关闭文件/生日.txt"
	content, err := ioutil.ReadFile(file)
	if err != nil {
		fmt.Printf("read file err=%v", err)
	}
	//把读取到的内容显示到终端
	fmt.Printf("%v\n", content) //[]byte
	fmt.Printf("%v\n", string(content))
	fmt.Println("读取结束")
	//我们没有显式的Open文件，因此也不需要显式的Close文件
	//因为，文件Open和Close被封装到ReadFile函数内部
}
